Skip to content

Add runtime tablet/mouse toggle for relative pointer lock - #150

Closed
Fail-Safe wants to merge 2 commits into
omacom:mainfrom
Fail-Safe:fix/relative-pointer-toggle
Closed

Add runtime tablet/mouse toggle for relative pointer lock#150
Fail-Safe wants to merge 2 commits into
omacom:mainfrom
Fail-Safe:fix/relative-pointer-toggle

Conversation

@Fail-Safe

Copy link
Copy Markdown
Contributor

Summary

  • Keep absolute virtio-tablet as the desktop default, with stable QMP ids (omarchy-tablet / omarchy-mouse) so the pointer can hot-swap without restarting the VM.
  • Add a Start Menu Relative mouse preference for launch, plus a menu-bar mouse control while the VM is running (the start menu dismisses at launch).
  • Document that Cocoa full-grab is focused keyboard Super capture, not relative mouse lock — games need relative virtio-mouse before pointer lock works (fixes fix: Mouse Capture #144).

Test plan

  • Launch with Relative mouse off: desktop trackpad pointing stays absolute; confirm virtio-tablet / id=omarchy-tablet in the QEMU command line.
  • From the menu-bar mouse icon, switch to Game pointer, then verify a pointer-lock / relative-mouse app or game can capture the cursor (Ctrl-Alt releases).
  • Switch back to Desktop pointer and confirm absolute pointing returns without restarting.
  • Enable Relative mouse on the start menu, relaunch, and confirm the session starts on relative mouse.
  • DEVELOPER_DIR=…Xcode… swift test --filter Pointer and macos/Tests/run-qemu-ssh-contract.test.sh

Keep absolute virtio-tablet as the desktop default, and let games switch to
relative virtio-mouse via QMP plus a Start Menu preference and menu-bar control.
The menu-bar mouse item is invisible when Immersive hard-hides the Mac menu
bar, which is the default launch mode.
@Fail-Safe Fail-Safe mentioned this pull request Sep 7, 2026
@Fail-Safe

Copy link
Copy Markdown
Contributor Author

Closing — mid-session UI and QMP hotplug need a different approach before this is ready for review.

@Fail-Safe Fail-Safe closed this Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: Mouse Capture

1 participant